#pragma once

#include "IMxPluginBase.h"

class IMxPluginLibDetailsIID
{
public:
	static char * const GUID() { return "B9A71387-11BF-46C9-987D-67579D9E76AC"; }
	static char * const Name() { return "IMxPluginLibDetails"; }
};

class  IMxPluginLibDetails :  public IMxPluginBase
{
public:

virtual const char *MXSTDMETHOD GetLibName(void) = 0;					//VS_VERSION_INFO::ProductName 
virtual const char *MXSTDMETHOD GetLibVersion(void) = 0;				//VS_VERSION_INFO::ProductVersion
virtual const char *MXSTDMETHOD GetLibOwnerName(void) = 0;				//VS_VERSION_INFO::CompanyName
virtual const char *MXSTDMETHOD GetLibCopyrightNotice(void) = 0;		//VS_VERSION_INFO::LegalCopyright
virtual const char *MXSTDMETHOD GetLibDescription(void) = 0;			//VS_VERSION_INFO::FileDescription
virtual const char *MXSTDMETHOD GetLibID(void) = 0;						//VS_VERSION_INFO::InternalName GUID - same as its folder name in PluginRootFolder
virtual const char *MXSTDMETHOD GetLibSupportSite(void) = 0;			//http://mxplugin.codeplex.com/
virtual const char *MXSTDMETHOD GetLibLicenseName(void) = 0;			//Codeplex Open Source
virtual const char *MXSTDMETHOD GetLibLicenseURL(void) = 0;				//http://mxplugin.codeplex.com/license
virtual const wchar_t *MXSTDMETHOD GetLibPathFilename(void) = 0;		//filename returned by ::GetModuleFileName() of hModule in DllMain, DLL_PROCESS_ATTACH	

virtual const char *MXSTDMETHOD GetSocketAppID(void) = 0;				//GUID provided by SocketImageProcXGUI, ImageCurator, etc - says this Plugin supports this application

};